home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 1 / LSD Compendium Deluxe 1.iso / a / programming / assemblers / trashm20.lha / TRANSFERASM / TRANSFERASM.I
Encoding:
Text File  |  1993-11-15  |  2.2 KB  |  143 lines

  1.  
  2. TRANSFERHEAD    MACRO
  3.     MOVEQ    #0,D0
  4.     RTS
  5.  
  6. STARTOFTRANSFER
  7.     ILLEGAL
  8.     DC.L    STARTOFTRANSFER
  9.     DC.L    \2
  10.     DC.L    $80000900
  11.     DC.L    .TRANSNAME
  12.     DC.L    .TRANSVERSION
  13.     DC.L    .TRANSNODELIST
  14. .TRANSNAME
  15.     DC.B    '\3.transfer',0    ;TRANSFER name must be the same as
  16.                     ;saved and in lower case
  17.     DC.B    '$VER: '
  18. .TRANSVERSION
  19.     DC.B    \4,0
  20.     EVEN
  21.  
  22. .TRANSNODELIST
  23.     DC.L    $2A
  24.     DC.L    .TRANSNODELIST1
  25.     DC.L    0
  26.     DC.L    .0
  27.  
  28. .0    EXG    D0,A5
  29.     MOVE.L    A6,$22(A5)
  30.     MOVE.L    A0,$26(A5)
  31.     MOVE.W    #$1D,$16(A5)
  32.     EXG    D0,A5
  33.     RTS
  34.  
  35. .TRANSNODELIST1
  36.     DC.L    .INSTALLTRANSFER    Don't change
  37.     DC.L    .REMOVETRANSFER        Don't change
  38.     DC.L    .EXIT            Don't change
  39.     DC.L    .EXIT            Don't change
  40.     DC.L    INITTRASH        Don't Change
  41.     DC.L    \1
  42.     DC.L    INITTRASH1
  43.     DC.L    .RESERVED
  44.     DC.L    .RESERVED
  45.     DC.L    .RESERVED
  46.     DC.L    .RESERVED
  47.     DC.L    .RESERVED
  48.     DC.L    .RESERVED
  49.     DC.L    .RESERVED
  50.     DC.L    .RESERVED
  51.     DC.L    .RESERVED
  52.     DC.L    .RESERVED
  53.     DC.L    .RESERVED
  54.     DC.L    -1
  55.  
  56. .RESERVED
  57.     rts
  58.  
  59. .EXIT    MOVEQ    #0,D0
  60.     RTS
  61.  
  62. .INSTALLTRANSFER
  63.     ADDQ.W    #1,$20(A6)
  64.     MOVE.L    A6,D0
  65.     ;START UP PROCEDURE
  66.     RTS
  67.  
  68. .REMOVETRANSFER
  69.     SUBQ.W    #1,$20(A6)
  70.     BNE.S    .End
  71.     MOVEM.L    D2/A5/A6,-(SP)
  72.     MOVEA.L    A6,A5
  73.     MOVE.L    $26(A5),D2
  74.     MOVEA.L    A5,A1
  75.     MOVEA.L    (A1)+,A0
  76.     MOVEA.L    (A1),A1
  77.     MOVE.L    A0,(A1)
  78.     MOVE.L    A1,4(A0)
  79.     MOVEA.L    $22(A5),A6
  80.     MOVEA.L    A5,A1
  81.     MOVEQ    #0,D0
  82.     MOVE.W    $10(A5),D0
  83.     SUBA.L    D0,A1
  84.     ADD.W    $12(A5),D0
  85.     JSR    -$D2(A6)
  86.     MOVE.L    D2,D0
  87.     MOVEM.L    (SP)+,D2/A5/A6
  88. .End    RTS
  89.  
  90. ******* LIBRARY HEADER FOR EXTERN TRANSFER *******
  91.  
  92. INITTRASH    MOVE.L    D0,CODE_START
  93.         MOVE.L    D1,RELO_START
  94.         MOVE.L    D2,RELO_END
  95.         MOVE.L    D3,DATA_MAINSCREENHANDLE
  96.         MOVE.L    D4,DATA_MAINWINDOWHANDLE
  97.         MOVE.W    D5,NUMBER_OF_SECTIONS
  98.         MOVE.L    D6,GETLABEL\.0+2
  99.         MOVE.L    A0,PRINTTEXT\.0+2
  100.         MOVE.L    A1,SECTION_ABS_LOCATION
  101.         MOVE.L    A2,SECTION_ORG_ADDRESS
  102.         MOVE.L    A3,SECTION_TYPE_TABLE
  103.         rts
  104. INITTRASH1    MOVE.L    D0,DOSBASE
  105.         rts
  106.  
  107. ******* CODE FOR EXTERN TRANSFER ******
  108.  
  109. PRINTTEXT    MOVEM.L    D0-A6,-(SP)
  110. .0        JSR    $00000000.L
  111.         MOVEM.L    (SP)+,D0-A6
  112.         RTS
  113.  
  114. GETLABEL    MOVEM.L    D0/D4-A6,-(SP)
  115.         MOVE.L    A1,A3
  116. .1        TST.W    (A1)+
  117.         BPL.S    .1
  118.         SUBQ.W    #2,A1
  119.         MOVEQ    #0,D7
  120. .0        JSR    $00000000.L
  121.         MOVEM.L    (SP)+,D0/D4-A6
  122.         RTS
  123.  
  124. CODE_START    DC.L    0
  125. CODE_END
  126. RELO_START    DC.L    0
  127. RELO_END    DC.L    0    
  128. DATA_MAINSCREENHANDLE
  129.         DC.L    0
  130. DATA_MAINWINDOWHANDLE
  131.         DC.L    0
  132. SECTION_ABS_LOCATION
  133.         DC.L    0
  134. SECTION_ORG_ADDRESS
  135.         DC.L    0
  136. SECTION_TYPE_TABLE
  137.         DC.L    0
  138. NUMBER_OF_SECTIONS
  139.         DC.W    0
  140. DOSBASE        DC.L    0
  141.         ENDM
  142.  
  143.